#include<iostream>
#include<unordered_map>

using namespace std;



//int minNumberOfFrogs(string s) {
//    unordered_map<char, int> hash;
//    for (int i = 0; i < s.size(); i++)
//    {
//        if (s[i] == 'c')
//        {
//            if (hash['k']) hash['k']--;
//            hash['c']++;
//
//        }
//        else if (s[i] == 'r')
//        {
//            if (hash['c']) return -1;
//            hash['r']++;
//            hash['c']--;
//        }
//        else if (s[i] == 'o')
//        {
//            if (hash['r']) return -1;
//            hash['o']++;
//            hash['r']--;
//        }
//        else if (s[i] == 'a')
//        {
//            if (hash['o']) return -1;
//            hash['a']++;
//            hash['o']--;
//        }
//        else
//        {
//            if (hash['a']) return -1;
//            hash['a']--;
//            hash['k']++;
//        }
//    }
//    for (auto& ch : hash)
//    {
//        if (ch.second != 0 && ch.first != 'k') return -1;
//        else continue;
//    }
//    return hash['k'];
//}

int minNumberOfFrogs(string s) {
    unordered_map<char, int> hash;
    for (int i = 0; i < s.size(); i++)
    {
        if (s[i] == 'c')
        {
            if (hash['k'] == 0) hash['k']--;
            hash['c']++;

        }
        else if (s[i] == 'r')
        {
            if (hash['c'] == 0) return -1;
            hash['r']++;
            hash['c']--;
        }
        else if (s[i] == 'o')
        {
            if (hash['r'] == 0) return -1;
            hash['o']++;
            hash['r']--;
        }
        else if (s[i] == 'a')
        {
            if (hash['o'] == 0) return -1;
            hash['a']++;
            hash['o']--;
        }
        else
        {
            if (hash['a'] == 0) return -1;
            hash['a']--;
            hash['k']++;
        }
    }
    for (auto& ch : hash)
    {
        if (ch.second != 0 && ch.first != 'k') return -1;
        else continue;
    }
    return hash['k'];
}
int main()
{
    string s = "croakcroak";
    
    minNumberOfFrogs(s);
	return 0;
}

//unordered_map<char, int > hash;
//
//hash['i']++;
//hash['a']++;
//hash['c']++;
//hash['r']++;
//hash['o']++;
//hash['k']++;
//for (auto& ch : hash)
//{
//    ch.second != 0;
//    cout << ch.first << endl;
//}
